Skip to main content

KTN-11

FieldIsi
Dokumen IDKTN-11
DeskripsiLaporan sales individu
Nomor Revisi1
Tanggal2026-10-04
KeteranganLaporan penjualan per sales (individu) untuk Kurnia Tani

1. Ringkasan​

a. In scope​

  • User melihat laporan penjualan per sales (individu)
  • User memfilter laporan berdasarkan periode dan sales
  • User melihat ringkasan per sales dan rincian invoice
  • User mengekspor laporan sales individu

b. Catatan​

c. Kesimpulan​

  • [FE] Sediakan halaman laporan sales individu (filter periode + sales, ringkasan, rincian invoice, export)
  • [BE] Pastikan endpoint laporan penjualan per sales menyediakan agregat dan rincian per karyawan_id_sales

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan laporan penjualan dikelompokkan per sales
FR-02User dapat memfilter laporan berdasarkan tanggal dan sales
FR-03User dapat melihat ringkasan per sales (total penjualan, sisa piutang, dll.)
FR-04User dapat melihat rincian invoice per sales
FR-05User dapat mengekspor laporan sales individu

3. Use Case List​

KodeDeskripsi
UC-01Melihat ringkasan laporan sales individu
UC-02Memfilter laporan sales individu
UC-03Melihat rincian invoice per sales
UC-04Mengekspor laporan sales individu

4. Use Case Scenario​

UC-01 : Melihat ringkasan laporan sales individu​

AktorUser dengan hak laporan penjualan per sales
DeskripsiUser melihat ringkasan penjualan per sales
PrekondisiUser sudah login
Brand aktif
Alur utama1. User membuka laporan sales individu / penjualan per sales.
2. Sistem menampilkan ringkasan per sales (total penjualan, sisa piutang, invoice terkait).
3. User meninjau angka per sales.
Alur negatif- Jika tidak ada data pada periode, muncul tampilan laporan kosong.
- Jika gagal memuat, muncul pesan error.
Bisnis rule- Pengelompokan memakai karyawan_id_sales.
- Hanya invoice tercetak yang masuk laporan (sesuai filter default laporan).
PostkondisiRingkasan per sales tampil
TriggerUser membuka halaman laporan
Kode FRFR-01
FR-03

UC-02 : Memfilter laporan sales individu​

AktorUser dengan hak laporan penjualan per sales
DeskripsiUser mempersempit laporan berdasarkan periode dan sales
PrekondisiUser berada di halaman laporan
Alur utama1. User memilih rentang tanggal.
2. User memilih satu atau lebih sales (opsional).
3. Sistem memuat ulang laporan.
Alur negatif- Jika filter tidak menghasilkan data, tampil laporan kosong.
- Reset mengembalikan filter default.
Bisnis rule- Filter sales memakai karyawan_id_sales.
- Periode memakai tanggal invoice.
PostkondisiLaporan terfilter
TriggerUser mengubah filter
Kode FRFR-02

UC-03 : Melihat rincian invoice per sales​

AktorUser dengan hak laporan penjualan per sales
DeskripsiUser membuka rincian invoice di bawah ringkasan sales
PrekondisiRingkasan sales sudah tampil
Alur utama1. User membuka mode / baris rincian pada sales terpilih.
2. Sistem menampilkan daftar invoice (nomor, tanggal, keterangan, total, jatuh tempo bila ada).
Alur negatif- Jika sales tidak punya invoice pada filter, rincian kosong.
Bisnis rule- Rincian tetap dalam konteks sales yang sama.
PostkondisiRincian invoice tampil
TriggerUser membuka rincian
Kode FRFR-04

UC-04 : Mengekspor laporan sales individu​

AktorUser dengan hak export laporan
DeskripsiUser mengekspor hasil laporan ke Excel
PrekondisiLaporan sudah dimuat
Alur utama1. User klik export Excel.
2. Sistem mengunduh file sesuai filter aktif.
Alur negatif- Jika data kosong, export tidak menghasilkan isi bermakna / ditolak sesuai perilaku existing.
- Jika tanpa hak export, tombol tidak tersedia.
Bisnis rule- Isi export mengikuti filter dan mode tampilan (ringkasan / rincian) yang aktif.
PostkondisiFile Excel terunduh
TriggerUser klik export
Kode FRFR-05

5. Data Flow Diagram​

DFD-01 — Laporan sales individu​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat ringkasan laporan sales individu​

SD-02 — UC-02 : Memfilter laporan sales individu​

SD-03 — UC-03 : Melihat rincian invoice per sales​

SD-04 — UC-04 : Mengekspor laporan sales individu​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
POST /laporan-penjualan/sales-reportexisting-